home *** CD-ROM | disk | FTP | other *** search
- package java.lang;
-
- import sun.misc.FloatingDecimal;
- import sun.misc.FpUtils;
-
- public final class Float extends Number implements Comparable<Float> {
- public static final float POSITIVE_INFINITY = InfinityF;
- public static final float NEGATIVE_INFINITY = -InfinityF;
- public static final float NaN = NaNF;
- public static final float MAX_VALUE = 3.4028235E38F;
- public static final float MIN_NORMAL = 1.1754944E-38F;
- public static final float MIN_VALUE = 1.4E-45F;
- public static final int MAX_EXPONENT = 127;
- public static final int MIN_EXPONENT = -126;
- public static final int SIZE = 32;
- public static final Class<Float> TYPE = Class.getPrimitiveClass("float");
- private final float value;
- private static final long serialVersionUID = -2671257302660747028L;
-
- public static String toString(float var0) {
- return (new FloatingDecimal(var0)).toJavaFormatString();
- }
-
- public static String toHexString(float var0) {
- if (Math.abs(var0) < MIN_NORMAL && var0 != 0.0F) {
- String var1 = Double.toHexString(FpUtils.scalb((double)var0, -896));
- return var1.replaceFirst("p-1022$", "p-126");
- } else {
- return Double.toHexString((double)var0);
- }
- }
-
- public static Float valueOf(String var0) throws NumberFormatException {
- return new Float(FloatingDecimal.readJavaFormatString(var0).floatValue());
- }
-
- public static Float valueOf(float var0) {
- return new Float(var0);
- }
-
- public static float parseFloat(String var0) throws NumberFormatException {
- return FloatingDecimal.readJavaFormatString(var0).floatValue();
- }
-
- public static boolean isNaN(float var0) {
- return var0 != var0;
- }
-
- public static boolean isInfinite(float var0) {
- return var0 == POSITIVE_INFINITY || var0 == NEGATIVE_INFINITY;
- }
-
- public Float(float var1) {
- this.value = var1;
- }
-
- public Float(double var1) {
- this.value = (float)var1;
- }
-
- public Float(String var1) throws NumberFormatException {
- this(valueOf(var1));
- }
-
- public boolean isNaN() {
- return isNaN(this.value);
- }
-
- public boolean isInfinite() {
- return isInfinite(this.value);
- }
-
- public String toString() {
- return String.valueOf(this.value);
- }
-
- public byte byteValue() {
- return (byte)((int)this.value);
- }
-
- public short shortValue() {
- return (short)((int)this.value);
- }
-
- public int intValue() {
- return (int)this.value;
- }
-
- public long longValue() {
- return (long)this.value;
- }
-
- public float floatValue() {
- return this.value;
- }
-
- public double doubleValue() {
- return (double)this.value;
- }
-
- public int hashCode() {
- return floatToIntBits(this.value);
- }
-
- public boolean equals(Object var1) {
- return var1 instanceof Float && floatToIntBits(((Float)var1).value) == floatToIntBits(this.value);
- }
-
- public static int floatToIntBits(float var0) {
- int var1 = floatToRawIntBits(var0);
- if ((var1 & 2139095040) == 2139095040 && (var1 & 8388607) != 0) {
- var1 = 2143289344;
- }
-
- return var1;
- }
-
- public static native int floatToRawIntBits(float var0);
-
- public static native float intBitsToFloat(int var0);
-
- public int compareTo(Float var1) {
- return compare(this.value, var1.value);
- }
-
- public static int compare(float var0, float var1) {
- if (var0 < var1) {
- return -1;
- } else if (var0 > var1) {
- return 1;
- } else {
- int var2 = floatToIntBits(var0);
- int var3 = floatToIntBits(var1);
- return var2 == var3 ? 0 : (var2 < var3 ? -1 : 1);
- }
- }
- }
-